import { shallowRef } from "vue";

import ModbusRTU from "./ModbusRTU.vue";
import MQTT from "./MQTT.vue";
import ModbusTCP from "./ModbusTCP.vue";
import OPCUA from "./OPCUA.vue";
import HTTP from "./HTTP.vue";
import HTTPS from "./HTTPS.vue";
import PLC485 from "./PLC(485).vue";
import CANModbus from "./CAN(Modbus).vue";
import WIFIModbus from "./WIFI(Modbus).vue";
import WIFIMQTT from "./WIFI(MQTT).vue";

const componentList = shallowRef([
  {
    key: "ModbusRTU",
    name: "ModbusRTU",
    show: true,
    component: ModbusRTU
  },
  {
    key: "MQTT",
    name: "MQTT",
    show: true,
    component: MQTT
  },
  {
    key: "ModbusTCP",
    name: "ModbusTCP",
    show: true,
    component: ModbusTCP
  },
  {
    key: "MQTT_SN",
    name: "MQTT_SN",
    show: true,
    component: MQTT
  },
  {
    key: "OPCUA",
    name: "OPCUA",
    show: true,
    component: OPCUA
  },
  {
    key: "HTTP",
    name: "HTTP",
    show: true,
    component: HTTP
  },
  {
    key: "HTTPS",
    name: "HTTPS",
    show: true,
    component: HTTPS
  },
  {
    key: "PLC(485)",
    name: "PLC(485)",
    show: true,
    component: PLC485
  },
  {
    key: "CAN(Modbus)",
    name: "CAN(Modbus)",
    show: true,
    component: CANModbus
  },
  {
    key: "NB-IOT(Modbus)",
    name: "NB-IOT(Modbus)",
    show: true,
    component: ModbusTCP
  },
  {
    key: "NB-IOT(MQTT)",
    name: "NB-IOT(MQTT)",
    show: true,
    component: MQTT
  },
  {
    key: "LoRa(Modbus)",
    name: "LoRa(Modbus)",
    show: true,
    component: ModbusTCP
  },
  {
    key: "LoRa(MQTT)",
    name: "LoRa(MQTT)",
    show: true,
    component: MQTT
  },
  {
    key: "5G(Modbus)",
    name: "5G(Modbus)",
    show: true,
    component: ModbusTCP
  },
  {
    key: "5G(MQTT)",
    name: "5G(MQTT)",
    show: true,
    component: MQTT
  },
  {
    key: "4G(Modbus)",
    name: "4G(Modbus)",
    show: true,
    component: ModbusTCP
  },
  {
    key: "4G(MQTT)",
    name: "4G(MQTT)",
    show: true,
    component: MQTT
  },
  {
    key: "CAT1(Modbus)",
    name: "CAT1(Modbus)",
    show: true,
    component: ModbusTCP
  },
  {
    key: "CAT1(MQTT)",
    name: "CAT1(MQTT)",
    show: true,
    component: MQTT
  },
  {
    key: "WIFI(Modbus)",
    name: "WIFI(Modbus)",
    show: true,
    component: WIFIModbus
  },
  {
    key: "WIFI(MQTT)",
    name: "WIFI(MQTT)",
    show: true,
    component: WIFIMQTT
  },
  {
    key: "OPCDA",
    name: "OPCDA",
    show: true,
    component: OPCUA
  },
  {
    key: "ODBC",
    name: "ODBC",
    show: true,
    component: null
  },
  {
    key: "JDBC",
    name: "JDBC",
    show: true,
    component: null
  },
  {
    key: "RESP",
    name: "RESP",
    show: true,
    component: null
  },
  {
    key: "Thrift",
    name: "Thrift",
    show: true,
    component: null
  },
  {
    key: "HadoopRPC",
    name: "HadoopRPC",
    show: true,
    component: null
  },
  {
    key: "MongonDBWireProtocol",
    name: "MongonDBWireProtocol",
    show: true,
    component: null
  },
  {
    key: "FTP",
    name: "FTP",
    show: true,
    component: null
  }
]);

export default componentList;
